<!DOCTYPE HTML PUBLIC "-//ORA//DTD CD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>[Chapter 21] 21.12 java.awt.image.PixelGrabber (JDK 1.0)</TITLE>
<META NAME="author" CONTENT="David Flanagan">
<META NAME="date" CONTENT="Thu Jul 31 16:15:53 1997">
<META NAME="form" CONTENT="html">
<META NAME="metadata" CONTENT="dublincore.0.1">
<META NAME="objecttype" CONTENT="book part">
<META NAME="otheragent" CONTENT="gmat dbtohtml">
<META NAME="publisher" CONTENT="O'Reilly &amp; Associates, Inc.">
<META NAME="source" CONTENT="SGML">
<META NAME="subject" CONTENT="Java">
<META NAME="title" CONTENT="Java in a Nutshell">
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
</HEAD>
<body vlink="#551a8b" alink="#ff0000" text="#000000" bgcolor="#FFFFFF" link="#0000ee">

<DIV CLASS=htmlnav>
<H1><a href='index.htm'><IMG SRC="gifs/smbanner.gif"
     ALT="Java in a Nutshell" border=0></a></H1>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch21_11.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><B><FONT FACE="ARIEL,HELVETICA,HELV,SANSERIF" SIZE="-1">Chapter 21<br>The java.awt.image Package</FONT></B></TD>
<td width=172 align=right valign=top><A HREF="ch21_13.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
</table>

&nbsp;
<hr align=left width=515>
</DIV>
<DIV CLASS=sect1>
<h2 CLASS=sect1><A CLASS="TITLE" NAME="JNUT2-CH-21-SECT-12">21.12 java.awt.image.PixelGrabber (JDK 1.0)</A></h2>

<DIV CLASS=sect2>
<h3 CLASS=sect2><A CLASS="TITLE" NAME="JNUT2-CH-21-SECT-12.1"></A></h3>
</DIV>

<P CLASS=para>
This class is an <tt CLASS=literal>ImageConsumer</tt> that extracts a
specified rectangular array of pixels (in the default RGB
color model) from a specified <tt CLASS=literal>Image</tt> or
<tt CLASS=literal>ImageProducer</tt> and stores them into a specified array
(using the specified offset into the array and specified
scanline size). Use this class when you want to
inspect or manipulate the data of an image or some
rectangular portion of an image.

<P CLASS=para>
The method <tt CLASS=literal>grabPixels()</tt> makes the
<tt CLASS=literal>PixelGrabber</tt> start grabbing pixels.
<tt CLASS=literal>status()</tt> returns the status of the pixel-grabbing
process. The return value uses the same flag value
constants as the <tt CLASS=literal>ImageObserver</tt> class does. The
remaining methods are the standard <tt CLASS=literal>ImageConsumer</tt>
methods and should not be called directly.

<DIV CLASS=screen>
<P>
<PRE>
public class <tt CLASS=literal>PixelGrabber</tt> extends Object implements ImageConsumer {
    // <tt CLASS=literal>Public Constructors</tt>
            public <tt CLASS=literal>PixelGrabber</tt>(Image <tt CLASS=literal>img</tt>, int <tt CLASS=literal>x</tt>, int <tt CLASS=literal>y</tt>, int <tt CLASS=literal>w</tt>, int <tt CLASS=literal>h</tt>, int[] <tt CLASS=literal>pix</tt>, int <tt CLASS=literal>off</tt>, int <tt CLASS=literal>scansize</tt>);
            public <tt CLASS=literal>PixelGrabber</tt>(ImageProducer <tt CLASS=literal>ip</tt>, int <tt CLASS=literal>x</tt>, int <tt CLASS=literal>y</tt>, int <tt CLASS=literal>w</tt>, int <tt CLASS=literal>h</tt>, int[] <tt CLASS=literal>pix</tt>, int <tt CLASS=literal>off</tt>, int <tt CLASS=literal>scansize</tt>);
        <b>1.1</b>  public <tt CLASS=literal>PixelGrabber</tt>(Image <tt CLASS=literal>img</tt>, int <tt CLASS=literal>x</tt>, int <tt CLASS=literal>y</tt>, int <tt CLASS=literal>w</tt>, int <tt CLASS=literal>h</tt>, boolean <tt CLASS=literal>forceRGB</tt>);
    // <tt CLASS=literal>Public Instance Methods</tt>
        <b>1.1</b>  public synchronized void <tt CLASS=literal>abortGrabbing</tt>();
        <b>1.1</b>  public synchronized ColorModel <tt CLASS=literal>getColorModel</tt>();
        <b>1.1</b>  public synchronized int <tt CLASS=literal>getHeight</tt>();
        <b>1.1</b>  public synchronized Object <tt CLASS=literal>getPixels</tt>();
        <b>1.1</b>  public synchronized int <tt CLASS=literal>getStatus</tt>();
        <b>1.1</b>  public synchronized int <tt CLASS=literal>getWidth</tt>();
            public boolean <tt CLASS=literal>grabPixels</tt>() throws InterruptedException;
            public synchronized boolean <tt CLASS=literal>grabPixels</tt>(long <tt CLASS=literal>ms</tt>) throws InterruptedException;
            public synchronized void <tt CLASS=literal>imageComplete</tt>(int <tt CLASS=literal>status</tt>);  //<tt CLASS=literal> From ImageConsumer</tt>
            public void <tt CLASS=literal>setColorModel</tt>(ColorModel <tt CLASS=literal>model</tt>);  //<tt CLASS=literal> From ImageConsumer</tt>
            public void <tt CLASS=literal>setDimensions</tt>(int <tt CLASS=literal>width</tt>, int <tt CLASS=literal>height</tt>);  //<tt CLASS=literal> From ImageConsumer</tt>
            public void <tt CLASS=literal>setHints</tt>(int <tt CLASS=literal>hints</tt>);  //<tt CLASS=literal> From ImageConsumer</tt>
            public void <tt CLASS=literal>setPixels</tt>(int <tt CLASS=literal>srcX</tt>, int <tt CLASS=literal>srcY</tt>, int <tt CLASS=literal>srcW</tt>, int <tt CLASS=literal>srcH</tt>, ColorModel <tt CLASS=literal>model</tt>,
            public void <tt CLASS=literal>setPixels</tt>'u'byte[] <tt CLASS=literal>pixels</tt>, int <tt CLASS=literal>srcOff</tt>, int <tt CLASS=literal>srcScan</tt>);  //<tt CLASS=literal> From ImageConsumer</tt>
            public void <tt CLASS=literal>setPixels</tt>(int <tt CLASS=literal>srcX</tt>, int <tt CLASS=literal>srcY</tt>, int <tt CLASS=literal>srcW</tt>, int <tt CLASS=literal>srcH</tt>, ColorModel <tt CLASS=literal>model</tt>,
            public void <tt CLASS=literal>setPixels</tt>'u'int[] <tt CLASS=literal>pixels</tt>, int <tt CLASS=literal>srcOff</tt>, int <tt CLASS=literal>srcScan</tt>);  //<tt CLASS=literal> From ImageConsumer</tt>
            public void <tt CLASS=literal>setProperties</tt>(Hashtable <tt CLASS=literal>props</tt>);  //<tt CLASS=literal> From ImageConsumer</tt>
        <b>1.1</b>  public synchronized void <tt CLASS=literal>startGrabbing</tt>();
            public synchronized int <tt CLASS=literal>status</tt>();
}
</PRE>
</DIV>

<P CLASS=para>
</DIV>

</DIV>


<DIV CLASS=htmlnav>

<P>
<HR align=left width=515>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch21_11.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><a href="index.htm"><img src='gifs/txthome.gif' border=0 alt='Home'></a></td>
<td width=172 align=right valign=top><A HREF="ch21_13.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
<tr>
<td width=172 align=left valign=top>java.awt.image.MemoryImageSource (JDK 1.0)</td>
<td width=171 align=center valign=top><a href="index/idx_0.htm"><img src='gifs/index.gif' alt='Book Index' border=0></a></td>
<td width=172 align=right valign=top>java.awt.image.RGBImageFilter (JDK 1.0)</td>
</tr>
</table>
<hr align=left width=515>

<IMG SRC="gifs/smnavbar.gif" USEMAP="#map" BORDER=0> 
<MAP NAME="map"> 
<AREA SHAPE=RECT COORDS="0,0,108,15" HREF="../javanut/index.htm"
alt="Java in a Nutshell"> 
<AREA SHAPE=RECT COORDS="109,0,200,15" HREF="../langref/index.htm" 
alt="Java Language Reference"> 
<AREA SHAPE=RECT COORDS="203,0,290,15" HREF="../awt/index.htm" 
alt="Java AWT"> 
<AREA SHAPE=RECT COORDS="291,0,419,15" HREF="../fclass/index.htm" 
alt="Java Fundamental Classes"> 
<AREA SHAPE=RECT COORDS="421,0,514,15" HREF="../exp/index.htm" 
alt="Exploring Java"> 
</MAP>
</DIV>

</BODY>
</HTML>
